Block interleavers are widely used in communication systems employing block coding. Such interleavers are also used for block-terminated convolutionally coded communication signals such as those implemented in the spread spectrum communication standard TIA/EIA/IS-95A, Mobile Station-Base Station Compatibility Standard for Dual Mode Wideband Spread Spectrum Cellular System, July 1993 available from the Telecommunication Industry Association (TIA). It is well known that for block coding, the interleaver should be designed such that the minimum time span between any two bits in a code word should be maximized. For example, assuming that the size of the block code is M and the size of the block interleaver is L=kM, the minimum distance between any two bits in a code word cannot be larger than k. Thus, the optimal block interleaver for such a code has the form of a matrix with k rows and M columns. Within a transmitter which implements the interleaver, the matrix is filled in column-by-column and read out row-by-row and the minimum distance between any two bits in a code word is clearly k, which is optimal.
When the block interleaver is used for interleaving a convolutionally coded signal, however, the optimal design of the interleaver is unclear. In a rate 1/r convolutional code, the lengths of code words start from the constraint length Kr of the code to infinity. Since errors are most likely to occur for the few shortest code word lengths, it is often to select the number of rows to be equal to or slightly greater than Kr where r is the coding rate. However, such a design criterion is by no means optimal for an interleaver to be used in conjunction with the convolutional code.
Thus, a need exists for an interleaver which attains optimal performance for an associated convolutional code.